package com.wrb.appointment.utils;

import org.apache.commons.codec.digest.DigestUtils;

public class Md5Util {

	/**
	 * MD5方法（无密钥）
	 *
	 * @param text 明文
	 * @return 密文
	 */
	public static String md5(String text) {
		//加密后的字符串
		return DigestUtils.md5Hex(text);
	}

	/**
	 * MD5验证方法 （无密钥）
	 *
	 * @param text 明文
	 * @param md5  密文
	 * @return true/false
	 * @throws Exception
	 */
	public static boolean verify(String text, String md5) {
		//根据传入的密钥进行验证
		String md5Text = md5(text);
		return md5Text.equalsIgnoreCase(md5);
	}

	/**
	 * MD5方法 （需要密钥）
	 *
	 * @param text 明文
	 * @param key  密钥
	 * @return 密文
	 * @throws Exception
	 */
	public static String md5(String text, String key) {
		//加密后的字符串
		return DigestUtils.md5Hex(text + key);
	}

	/**
	 * MD5验证方法 （需要密钥）
	 *
	 * @param text 明文
	 * @param key  密钥
	 * @param md5  密文
	 * @return true/false
	 * @throws Exception
	 */
	public static boolean verify(String text, String key, String md5) {
		//根据传入的密钥进行验证
		String md5Text = md5(text, key);
		return md5Text.equalsIgnoreCase(md5);
	}
}